home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TeX 1995 July
/
TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO
/
dviware
/
beebe
/
updates
/
00mail.1
< prev
next >
Wrap
Text File
|
1990-10-01
|
4KB
|
118 lines
18-Feb-87 09:36:05-MST,4267;000000000001
Mail-From: BEEBE created at 18-Feb-87 09:36:02
Date: Wed 18 Feb 87 09:36:01-MST
From: "Nelson H.F. Beebe" <Beebe@UTAH-SCIENCE.ARPA>
Subject: DVI driver family update #1
To: $90%dhdurz1.bitnet@WISCVM.WISC.EDU, austins%ucbcmsa.edu@UTAH-CS.ARPA,
cel%cithex.caltech.edu@UTAH-CS.ARPA,
crawford-j%ohio_state.arpa@UTAH-CS.ARPA,
crm8701%tamvenus.bitnet@WISCVM.WISC.EDU,
gaspard%hroeur5.bitnet@WISCVM.WISC.EDU,
james%vaxe.coe.northeaster.edu@UTAH-CS.ARPA,
lamy%ai.toronto.edu@RELAY.CS.NET, mpc91b%dgogwd01.bitnet@WISCVM.WISC.EDU,
rjones%uwovax.bitnet@WISCVM.WISC.EDU, rs%gnome.cs.cmu.edu@UTAH-CS.ARPA,
stone%ruthep.rutgers.edu@UTAH-CS.ARPA,
system%uvphys.bitnet@WISCVM.WISC.EDU, thobe@EE.UCLA.EDU,
zeffi%finabo.bitnet@WISCVM.WISC.EDU
cc: BEEBE@UTAH-SCIENCE.ARPA
X-US-Mail: "Center for Scientific Computation, South Physics, University of Utah, Salt Lake City, UT 84112"
X-Telephone: (801) 581-5254
Message-ID: <12280054855.6.BEEBE@UTAH-SCIENCE.ARPA>
For those of you who supplied an EMAIL address, I have set
up a mailing list which I will use to announce changes in my
DVI driver family. All tapes and floppy disks received as
of 18-Feb-87 have now been shipped.
Since the TeXHaX announcement, ANONYMOUS FTP access for
Internet sites has become available. To use it, login with
ANONYMOUS FTP to UTAH-SCIENCE and get the file 00README.TXT.
It contains information on how to find things.
Here is part of the 00REVHST.TXT file:
-----------------------------------------------------------------
[10-Feb-87]
Yesterday I discovered that VAX VMS 4.4 printf()
wipes out the stack and kills the process if a
long string is printed. This turns out to be the
case in outline() in dvitos.c; the code has been
modified to use fputs() there instead.
[10-Feb-87]
Several debugging sessions on VAX VMS stepping
through the call chain fflush() -> _flsbuf() ->
_flsbuf_record() -> write_record() ->
write_buffer() -> write_imbed() -> write_output()
->signal() -> c$$translate() have made it clear
that the simple scheme in dvi*.c and lptops.c of
checking for a non-zero return value from
fflush() or ferror() is an unreliable way to
conclude a legitimate error (specifically, disk
storage exhausted) exists. Consequently, these
routines have been modified to call clearerr() at
the beginning of loadchar() and prtbmap(), then
to use a macro DISKFULL() to test for the error
condition. DISKFULL() is defined in machdefs.h,
and errno.h is now included by dvihead.h. This
regrettably introduces small changes in a number
of routines, but no other clean way of doing the
job appeared to be feasible.
[02-Feb-87]
Changed "pagecollation on" to "pagecollation off"
in dviimp.c. With version 3.3 of the Imagen
Image Processor software, there seems to be a bug
in that "pagecollation on" causes page reversal.
I have reported this to Imagen.
-----------------------------------------------------------------
Here are Unix diff output listings for the affected files.
All the dvi*.c routines have similar changes; the two listed
here are typical.
machdefs.h:
113a114
> #define DISKFULL(fp) (ferror(fp) && (errno == ENOSPC))
337a339
> #define DISKFULL(fp) ferror(fp) /* PCC-20 does not always set errno */
dvialw.c:
566a567,568
> clearerr(plotfp); /* VMS sets the error flag unexpectedly */
>
583c585,586
< if (ferror(plotfp) != 0)
---
>
> if (DISKFULL(plotfp))
dvitos.c:
104c104
< #define OUTFILE_EXT ".tos"
---
> #define OUTFILE_EXT ".dvi-tos"
333,335c333,337
< (void)fprintf(plotfp,"\033;%04d%s",
< len >> 2,pline); /* quadruple count ESC;nnnn */
<
---
> {
> (void)fprintf(plotfp,
> "\033;%04d",len >> 2); /* quadruple count ESC;nnnn */
> (void)fputs(pline,plotfp);
> }
362a365,366
> (void)clearerr(plotfp);
>
486,487c490,492
< if (fflush(plotfp) == EOF)
< (void)fatal("Output error -- disk storage probably full");
---
> (void)fflush(plotfp);
> if (DISKFULL(plotfp))
> (void)fatal("prtbmap(): Output error -- disk storage probably full");
-------